
<p><b>syntax:</b> <i>internal</i>
</p><p><b>default:</b> <i>no</i>
</p><p><b>context:</b> <i>location</i>
</p><p><b>internal</b> indicates that the matching location can be used only for so called "internal" requests.
</p><p>For external requests it will return the error "Not found" (404).
</p><p>Internal requests are the following:
</p>
<ul><li> requests redirected by the instruction <b>error_page</b>
</li><li> subrequests created by the command <b>include virtual</b> of the "ngx_http_ssi_module" module
</li><li> requests changed by the instruction <b>rewrite</b> of the "ngx_http_rewrite_module" module
</li></ul>
<p>An example to prevent clients fetching error pages directly:
</p>
<pre class="code"><span class="kw3">error_page</span> <span class="nu0">404</span> /<span class="nu0">404</span>.html;
<span class="kw3">location</span>  /<span class="nu0">404</span>.html <span class="br0">&#123;</span>
  <span class="kw3">internal</span>;
<span class="br0">&#125;</span></pre>
<p>Nginx 0.7.x introduces a new syntax for internal locations: <code>@location</code>
</p><p>Example:
</p>
<pre class="code"><span class="kw3">location</span> / <span class="br0">&#123;</span>
    <span class="kw3">root</span> /var/www/html;
    <span class="kw3">error_page</span> <span class="nu0">404</span> @40x;
<span class="br0">&#125;</span>
&nbsp;
<span class="kw3">location</span> @40x <span class="br0">&#123;</span>
  <span class="kw3">root</span> /var/www/errors/40x.html;
<span class="br0">&#125;</span></pre>
<br><i>Module: NginxHttpCoreModule</i>